62 research outputs found

    Planning as Optimization: Dynamically Discovering Optimal Configurations for Runtime Situations

    Full text link
    The large number of possible configurations of modern software-based systems, combined with the large number of possible environmental situations of such systems, prohibits enumerating all adaptation options at design time and necessitates planning at run time to dynamically identify an appropriate configuration for a situation. While numerous planning techniques exist, they typically assume a detailed state-based model of the system and that the situations that warrant adaptations are known. Both of these assumptions can be violated in complex, real-world systems. As a result, adaptation planning must rely on simple models that capture what can be changed (input parameters) and observed in the system and environment (output and context parameters). We therefore propose planning as optimization: the use of optimization strategies to discover optimal system configurations at runtime for each distinct situation that is also dynamically identified at runtime. We apply our approach to CrowdNav, an open-source traffic routing system with the characteristics of a real-world system. We identify situations via clustering and conduct an empirical study that compares Bayesian optimization and two types of evolutionary optimization (NSGA-II and novelty search) in CrowdNav

    Model Problem (CrowdNav) and Framework (RTX) for Self-Adaptation Based on Big Data Analytics (Artifact)

    Get PDF
    This artifact supports our research in self-adaptation in large-scale software-intensive distributed systems. The main problem in making such systems self-adaptive is that their adaptation needs to consider the current situation in the whole system. However, developing a complete and accurate model of such systems at design time is very challenging. We are instead investigating a novel approach where the system model consists only of the essential input and output parameters and Big Data analytics is used to guide self-adaptation based on a continuous stream of operational data. In this artifact, we provide a concrete model problem that can be used as a case study for evaluating different self-adaptation techniques pertinent to complex large-scale distributed systems. We also provide an extensible tool-based framework for endorsing an arbitrary system with self-adaptation based on analysis of operational data coming from the system. The model problem (CrowdNav) and the framework (RTX) have been packaged together in this artifact, but can also work independently

    Introduction to the Special Issue "Applications in Self-Aware Computing Systems and their Evaluation"

    Get PDF
    The joint 1st Workshop on Evaluations and Measurements in Self-Aware Computing Systems (EMSAC 2019) and Workshop on Self-Aware Computing (SeAC) was held as part of the FAS* conference alliance in conjunction with the 16th IEEE International Conference on Autonomic Computing (ICAC) and the 13th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO) in Umeå, Sweden on 20 June 2019. The goal of this one-day workshop was to bring together researchers and practitioners from academic environments and from the industry to share their solutions, ideas, visions, and doubts in self-aware computing systems in general and in the evaluation and measurements of such systems in particular. The workshop aimed to enable discussions, partnerships, and collaborations among the participants. This special issue follows the theme of the workshop. It contains extended versions of workshop presentations as well as additional contributions

    Using component ensembles for modeling autonomic component collaboration in smart farming

    Get PDF
    Smart systems have become key solutions for many application areas including autonomous farming. The trend we can see now in the smart systems is that they shift from single isolated autonomic and self-adaptive components to larger ecosystems of heavily cooperating components. This increases the reliability and often the cost-effectiveness of the system by replacing one big costly device with a number of smaller and cheaper ones. In this paper, we demonstrate the effect of synergistic collaboration among autonomic components in the domain of smart farming---in particular, the use-case we employ in the demonstration stems from the AFarCloud EU project. We exploit the concept of autonomic component ensembles to describe situation-dependent collaboration groups (so called ensembles). The paper shows how the autonomic component ensembles can easily capture complex collaboration rules and how they can include both controllable autonomic components (i.e. drones) and non-controllable environment agents (flocks of birds in our case). As part of the demonstration, we provide an open-source implementation that covers both the specification of the autonomic components and ensembles of the use case, and the discrete event simulation and real-time visualization of the use case. We believe this is useful not only to demonstrate the effectiveness of architectures of collaborative autonomic components for dealing with real-life tasks, but also to build further experiments in the domain.This is the authors' version of the paper: P. Hnětynka, T. Bureš, I. Gerostathopoulos, J. Pacovský: Using Component Ensembles for Modeling Autonomic Component Collaboration in Smart Farming, in Proceedings of SEAMS 2020, Seoul, Korea, 2020. The final published version can be found at https://doi.org/10.1145/3387939.339159

    Self-Adaptation in Highly Distributed Dynamic Systems: part of Report from the GI Dagstuhl Seminar 14433: Software Engineering for Self-Adaptive Systems

    Get PDF
    International audienceThis breakout group focused on identifying the challenges of performing self-adaptation in highly distributed dynamic systems. This is a pressing issue in self-adaptive systems research, as proposed ``smart" systems are increasingly built out of disparate entities (sensors and actuators) that feature a close connection to the physical world -- so-called cyber-physical systems (CPSs). Examples are numerous: intelligent vehicle navigation, fleets of autonomous robots, emergency coordination systems, to mention just a few. CPSs are typically distributed at the physical space and feature no firm boundaries -- they are open-ended. They are composed of loosely connected entities, that are often mobile. Grafting such systems with self-adaptive capabilities is a distinct challenge, which projects itself in all phases of the autonomic loop

    Engineering for a science-centric experimentation platform

    Get PDF
    Netflix is an internet entertainment service that routinely employs experimentation to guide strategy around product innovations. As Netflix grew, it had the opportunity to explore increasingly specialized improvements to its service, which generated demand for deeper analyses supported by richer metrics and powered by more diverse statistical methodologies. To facilitate this, and more fully harness the skill sets of both engineering and data science, Netflix engineers created a science-centric experimentation platform that leverages the expertise of scientists from a wide range of backgrounds working on data science tasks by allowing them to make direct code contributions in the languages used by them (Python and R). Moreover, the same code that runs in production is able to be run locally, making it straightforward to explore and graduate both metrics and causal inference methodologies directly into production services. In this paper, we provide two main contributions. Firstly, we report on the architecture of this platform, with a special emphasis on its novel aspects: how it supports science-centric end-to-end workflows without compromising engineering requirements. Secondly, we describe its approach to causal inference, which leverages the potential outcomes conceptual framework to provide a unified abstarction layer for arbitrary statistical models and methodologies

    Engineering for a Science-Centric Experimentation Platform

    Get PDF
    Netflix is an internet entertainment service that routinely employs experimentation to guide strategy around product innovations. As Netflix grew, it had the opportunity to explore increasingly specialized improvements to its service, which generated demand for deeper analyses supported by richer metrics and powered by more diverse statistical methodologies. To facilitate this, and more fully harness the skill sets of both engineering and data science, Netflix engineers created a science-centric experimentation platform that leverages the expertise of data scientists from a wide range of backgrounds by allowing them to make direct code contributions in the languages used by scientists (Python and R). Moreover, the same code that runs in production is able to be run locally, making it straightforward to explore and graduate both metrics and causal inference methodologies directly into production services. In this paper, we utilize a case-study research method to provide two main contributions. Firstly, we report on the architecture of this platform, with a special emphasis on its novel aspects: how it supports science-centric end-to-end workflows without compromising engineering requirements. Secondly, we describe its approach to causal inference, which leverages the potential outcomes conceptual framework to provide a unified abstraction layer for arbitrary statistical models and methodologies.Comment: 10 page

    Emergent Web Server:An Exemplar to Explore Online Learning in Compositional Self-Adaptive Systems

    Get PDF
    Contemporary deployment environments are volatile, with conditions that are often hard to predict in advance, demanding solutions that are able to learn how best to design a system at runtime from a set of available alternatives. While the self-adaptive systems community has devoted significant attention to online learning, there is less research specifically directed towards learning for open-ended architectural adaptation - where individual components represent alternatives that can be added and removed dynamically. In this paper we present the Emergent Web Server (EWS), an architecture-based adaptive web server with 42 unique compositions of alternative components that present different utility when subjected to different workload patterns. This artefact allows the exploration of online learning techniques that are specifically able to consider the composition of logic that comprises a given system, and how each piece of logic contributes to overall utility. It also allows the user to add new components at runtime (and so produce new composition options), and to remove existing components; both are likely to occur in systems where developers (or automated code generators) deploy new code on a continuous basis and identify code which has never performed well. Our exemplar bundles together a fully-functional web server, a number of pre-packaged online learning approaches, and utilities to integrate, evaluate, and compare new online learning approaches

    Self-Adaptation in Industry: A Survey

    Full text link
    Computing systems form the backbone of many areas in our society, from manufacturing to traffic control, healthcare, and financial systems. When software plays a vital role in the design, construction, and operation, these systems are referred as software-intensive systems. Self-adaptation equips a software-intensive system with a feedback loop that either automates tasks that otherwise need to be performed by human operators or deals with uncertain conditions. Such feedback loops have found their way to a variety of practical applications; typical examples are an elastic cloud to adapt computing resources and automated server management to respond quickly to business needs. To gain insight into the motivations for applying self-adaptation in practice, the problems solved using self-adaptation and how these problems are solved, and the difficulties and risks that industry faces in adopting self-adaptation, we performed a large-scale survey. We received 184 valid responses from practitioners spread over 21 countries. Based on the analysis of the survey data, we provide an empirically grounded overview of state-of-the-practice in the application of self-adaptation. From that, we derive insights for researchers to check their current research with industrial needs, and for practitioners to compare their current practice in applying self-adaptation. These insights also provide opportunities for the application of self-adaptation in practice and pave the way for future industry-research collaborations.Comment: 43 page
    corecore